【アップデート】新たに発表されたdeclarative policies(宣言型ポリシー)をためしてみた #AWSreInvent
re:Invet2024に参加している。たかやまです。
AWSが提供するポリシーとして新たにdeclarative policies(宣言型ポリシー)が発表されました。
AWSブログも公開されています。
さきにまとめ
- 組織全体のEBSスナップショットのパブリック状態等を確認するアカウントステータスレポートを作成可能
- 組織全体のEBSスナップショットのパブリック状態等を制御する宣言型ポリシーを作成可能
- 宣言型ポリシーでサポートされている属性はこちら
- シリアルコンソールアクセス
- インスタンスメタデータのデフォルト
- AMIブロックパブリック・アクセス
- スナップショットブロックパブリックアクセス
- VPCブロックパブリックアクセス
- 許可されている画像(AMI?)設定
やってみる
宣言型ポリシーの有効化
Organizationsのコンソールを確認するとEC2の宣言型ポリシー
が追加されていることが確認できます。
デフォルト無効になっているのでこちらを有効化します。
有効化すると以下のような画面が表示され、宣言型ポリシーを適用できるようになります。
アカウントステータスレポートの作成
今回はAWSブログにならって、宣言型ポリシー作成の前にアカウントステータスレポート機能を試してみます。
以下のポリシーを付与したS3バケットをレポート先に設定します。
ちなみにap-northeast-1のS3バケットではエラーがでたので、S3はus-east-1にある必要がありそうです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DeclarativePoliciesReportBucket",
"Effect": "Allow",
"Principal": {
"Service": [
"report.declarative-policies-ec2.amazonaws.com"
]
},
"Action": [
"s3:PutObject"
],
"Resource": "arn:aws:s3:::<bucketName>/*",
"Condition": {
"StringEquals": {
"aws:SourceArn": "arn:<partition>:declarative-policies-ec2:<region>:<accountId>:*"
}
}
}
]
}
さきほど作成画面でも記載されていましたが、レポート生成は最大48時間かかるようです。
追記)生成されると以下のようなレポートが作成されました。レポートの内容は各アカウント内で最頻値の状態をベースにそこからズレているアカウントを 一貫性のないアカウント
として出力するようです。
宣言型ポリシーの作成
次に宣言型ポリシーを作成してみます。
今回はスナップショットのパブリック公開をブロックするスナップショットブロックパブリックアクセス
を作成します。
ビジュアルエディタがサポートされているのは嬉しいですね。
そうすると以下のようなポリシーが作成されます。
今回こちらのポリシーをRootにアタッチしてみます。
この状態でスナップショットのパブリック公開の画面を確認すると、アカウント管理者によって無効化されていることが確認できました!
スナップショットブロックパブリックアクセスの他にも以下のポリシーが適用できるようです。
- シリアルコンソールアクセス
- インスタンスメタデータのデフォルト
- AMIブロックパブリック・アクセス
- スナップショットブロックパブリックアクセス
- VPCブロックパブリックアクセス
- 許可されている画像(AMI?)設定
最後に
AWSの新機能である宣言型ポリシーを試してみました。
今回の機能で組織全体のパブリックアクセスまわりの制御を容易にできるようになりました。
こちらの機能を待ち望んでいた方も多いのではないでしょうか。
ぜひ、こちらの機能を活用を組織ガバナンス向上に活用していきましょう!
この記事が誰かのお役に立てれば幸いです。
以上、たかやま(@nyan_kotaroo)でした。